This disclosure is generally related to database systems and particularly related to techniques for extending an abstract data model through managed physical statement structures.
Databases are well known in the art. One type of database is a relational database, which matches data by using common characteristics found within the data set. Relational databases store data in tables comprising rows and columns containing related information. Users access relational databases via programmatic commands using programming languages, such as SQL. For example, consider a database table with columns for names, social security numbers and birthdates of the patients in a hospital. In such a case, an SQL statement could filter patients by birthday. For example, a query could be composed which retrieved the names of patients who were born between 1930 and 1940. Another SQL statement could use data derived from the birthdates. For example, this command could be used to select a group of patients whose age is between 70 and 80.
The programming language command based method of accessing a database is inefficient because, as a result, only people with a programming or information technology background could access the database. If a researcher without such a background needed information from the database, she would have to ask a database administrator or other IT person in the office to provide the information to her.
Databases are often large, complex software applications that require specialized training to use or administer properly. Because of this complexity, database abstraction techniques have been developed that provide an abstraction layer between an underlying physical representation of data (used by the physical database) and an abstraction layer presented to users interacting with the database. For example, commonly assigned U.S. Pat. No. 6,996,558 (the '558 patent) entitled “Application Portability and Extensibility through Database Schema and Query Abstraction,” discloses techniques for constructing a data abstraction model over an underlying physical database. The '558 patent discloses a data abstraction model constructed using logical fields that map to data stored in the underlying physical database. The definition for each logical field includes an access method specifying a location (i.e., a table and column) in the underlying database from which to retrieve data. Users compose an abstract query by selecting logical fields and specifying conditions.
Abstract query based systems allow users to compose queries more easily using intuitive interfaces that do not require detailed knowledge of a particular query language (e.g., SQL). However, businesses may have a large library of pre-existing SQL-based queries, and would like to integrate this library of SQL-based queries with an abstract database system. Each such query, in effect, defines a table generated from the then existing data in the database when the query is executed. Because such a table is generated when the query is executed, it is not part of the underlying relational database schema used to define the abstract query based system.